package com.yc.cloud.api.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 硬件设备类型枚举
 *
 * @author kinggu
 * @since 2025-08-27
 */
@Getter
@AllArgsConstructor
public enum HwDeviceType {

    /**
     * 边缘设备(rv1126)
     */
    EDGE_DEVICE(1, "边缘设备"),

    /**
     * 服务器
     */
    SERVER(2, "服务器");

    private final Integer code;
    private final String description;

    /**
     * 根据代码获取枚举
     * @param code 设备类型代码
     * @return 设备类型枚举
     */
    public static HwDeviceType getByCode(Integer code) {
        if (code == null) {
            return null;
        }
        for (HwDeviceType type : values()) {
            if (type.getCode().equals(code)) {
                return type;
            }
        }
        return null;
    }

    /**
     * 判断是否为边缘设备
     * @param code 设备类型代码
     * @return 是否为边缘设备
     */
    public static boolean isEdgeDevice(Integer code) {
        return EDGE_DEVICE.getCode().equals(code);
    }

    /**
     * 判断是否为服务器
     * @param code 设备类型代码
     * @return 是否为服务器
     */
    public static boolean isServer(Integer code) {
        return SERVER.getCode().equals(code);
    }
}